package leetcode; /**
 * description:
 * author:张腾
 * date:2021-07-24
 */

/**
 * 给你一个字符串 time ，格式为 hh:mm（小时：分钟），其中某几位数字被隐藏（用 ? 表示）。
 *
 * 有效的时间为 00:00 到 23:59 之间的所有时间，包括 00:00 和 23:59 。
 *
 * 替换time 中隐藏的数字，返回你可以得到的最晚有效时间。
 */
public class leetcode1736 {
    public static void main(String[] args) {
        System.out.println(maximumTime("?0:15"));
    }
    public static String maximumTime(String time) {
        StringBuilder sb = new StringBuilder();

        //第一位
        if (time.charAt(0)=='?'){
            int j = Integer.valueOf(time.charAt(1)-'0');
            if (time.charAt(1)=='?' || time.charAt(1)<='3'){
                sb.append("2");
            }else sb.append("1");
        }else sb.append(time.charAt(0));


        //第二位
        if (time.charAt(1)=='?') {
            if (sb.charAt(0)=='2') sb.append("3");
            else sb.append("9");
        }else sb.append(time.charAt(1));

        //第三位
        sb.append(":");

//        if (sb.charAt(0)=='2' && sb.charAt(1)=='4') return "24:00";

        //第四位
        if (time.charAt(3)=='?'){
            sb.append("5");
        }else sb.append(time.charAt(3));

        if (time.charAt(4)=='?'){
            sb.append("9");
        }else sb.append(time.charAt(4));

        return sb.toString();
    }
}
